Skip to content

Add JSON ingestion gem shell#1199

Open
jwils wants to merge 1 commit into
mainfrom
joshuaw/json-ingestion-gem-shell
Open

Add JSON ingestion gem shell#1199
jwils wants to merge 1 commit into
mainfrom
joshuaw/json-ingestion-gem-shell

Conversation

@jwils
Copy link
Copy Markdown
Collaborator

@jwils jwils commented May 20, 2026

Why

Split the JSON ingestion extraction into reviewable steps so the gem packaging can be checked independently before code moves.

What

  • Add the elasticgraph-json_ingestion gem shell
  • Wire the new path gem into the bundle without changing runtime behavior
  • Update generated dependency diagrams and gem READMEs for the new empty gem

Risk Assessment

Low — this only adds an empty extension gem package, lockfile wiring, and generated dependency docs.

References

  • First PR in the JSON ingestion extraction stack.
  • Local spellcheck, lint, type-check, schema artifact, and dependency diagram checks passed.

@jwils jwils force-pushed the joshuaw/json-ingestion-gem-shell branch from 3643e2f to 63b3c9f Compare May 20, 2026 18:29
@jwils jwils marked this pull request as ready for review May 22, 2026 18:22
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/nit I'm not sure we need this file. There's nothing further in this file in #1205...will there ever be? Gems's don't have to have a "root" file like this. Can we drop it entirely?

(If something in our build require it to exist, feel free to leave it).

# always pulls in this serializer by default), and this gem's code references `schema_definition` only
# via paths that are always already loaded by the time this gem is required.
spec.add_development_dependency "elasticgraph-schema_definition", ElasticGraph::VERSION
spec.add_dependency "elasticgraph-support", ElasticGraph::VERSION
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IIRC we put add_dependency before add_development_dependency in all the other gemspecs because it's more "primary" -- mind doing it here?

JSON Schema ingestion support for ElasticGraph.

This gem provides the schema-definition extension that generates JSON Schema artifacts for indexing
events and validates JSON-ingestion-specific schema options.
Copy link
Copy Markdown
Collaborator

@myronmarston myronmarston May 22, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Long term, I think it'll make sense to move some JSON logic out of elasticgraph-indexer into here. Essentially, this gem should provide all logic related to ingesting JSON data. Stuff that is only used by the indexer when we ingest JSON events should not remain in elasticgraph-indexer as it won't be used by an alternate ingestion library (e.g. the proto one).

....but for now let's leave this as you've written it since the schema-definition stuff is what you are focused on with this PR stack.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants